package com.atty.dms.dao.mapper;

import com.atty.dms.dao.entity.UserInterestDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

public interface UserInterestMapper extends BaseMapper<UserInterestDO> {
    /**
     * 根据用户ID获取兴趣名称列表（1对多查询）
     */
    List<String> getInterestNamesByUserId(@Param("userId") Long userId);

    /**
     * 创建单个用户兴趣记录
     */
    void createUserInterest(@Param("userId") Long userId, @Param("interestId") Long interestId);

    /**
     * 批量创建用户兴趣记录
     */
    void batchCreateUserInterests(@Param("userId") Long userId, @Param("interestIds") List<Long> interestIds);

    /**
     * 根据用户ID删除兴趣记录
     */
    void deleteUserInterest(@Param("userId") Long userId, @Param("interestId") Long interestId);

    /**
     * 批量删除用户兴趣记录
     */
    void deleteUserInterests(@Param("userId") Long userId, @Param("interestIds") List<Long> interestIds);

    /**
     * 更新用户兴趣记录
     */
    void updateUserInterest(@Param("userId") Long userId, @Param("oldInterestId") Long interestId,@Param("newInterestId") Long newInterestId);

    /**
     * 根据兴趣ID获取用户名列表（1对多查询）
     */
    List<String> getUsernamesByInterestId(@Param("interestId") Long interestId);
}